(function(){"use strict";var ENDPOINT="https://atomictrackercollector-i5adxi4wfq-uc.a.run.app",VISITOR_KEY="atomic_pixel_visitor",SESSION_KEY="atomic_pixel_session",QUEUE_KEY="atomic_pixel_queue",SESSION_TIMEOUT_MS=18e5;function now(){return Date.now()}function generateId(){return Math.random().toString(36).substring(2)+now().toString(36)}function getVisitorId(){try{var visitor=localStorage.getItem(VISITOR_KEY);return visitor||(visitor=generateId(),localStorage.setItem(VISITOR_KEY,visitor)),visitor}catch(e){return generateId()}}function getSessionData(){try{return JSON.parse(localStorage.getItem(SESSION_KEY))||null}catch(e){return null}}function saveSessionData(data){localStorage.setItem(SESSION_KEY,JSON.stringify(data))}function createNewSession(){var s={id:generateId(),lastActivity:now()};return saveSessionData(s),s}function getSessionId(){var s=getSessionData();return!s||now()-s.lastActivity>SESSION_TIMEOUT_MS?createNewSession().id:(s.lastActivity=now(),saveSessionData(s),s.id)}function getQueue(){try{return JSON.parse(localStorage.getItem(QUEUE_KEY))||[]}catch(e){return[]}}function saveQueue(arr){localStorage.setItem(QUEUE_KEY,JSON.stringify(arr))}function enqueue(eventObj){var q=getQueue();q.push(eventObj),saveQueue(q)}function trySend(events,callback){if(!navigator.onLine||!events||!events.length){callback(!1);return}fetch(ENDPOINT,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(events)}).then(function(res){events.forEach(function(evt){console.log("[AtomicPixel] Event sent:",evt)}),callback(res.ok)}).catch(function(){callback(!1)})}function flushQueue(){var q=getQueue();q.length&&trySend(q,function(success){success&&saveQueue([])})}function hashString(str){for(var hash=5381,i=0;i>>0).toString(16)}function getFingerprintId(){var stored=localStorage.getItem("atomic_pixel_fingerprint");if(stored)return stored;var ua=navigator.userAgent||"",resolution=screen.width+"x"+screen.height,language=navigator.language||"",timezone=new Date().getTimezoneOffset(),str=ua+"|"+resolution+"|"+language+"|"+timezone,fp=hashString(str);return localStorage.setItem("atomic_pixel_fingerprint",fp),fp}function getBrowserName(ua){return ua=ua.toLowerCase(),ua.indexOf("fban")>-1||ua.indexOf("fbav")>-1?"Facebook Browser":ua.indexOf("instagram")>-1?"Instagram Browser":ua.indexOf("chrome")>-1&&ua.indexOf("edg")===-1&&ua.indexOf("opr")===-1?"Chrome":ua.indexOf("safari")>-1&&ua.indexOf("chrome")===-1?"Safari":ua.indexOf("firefox")>-1?"Firefox":ua.indexOf("edg")>-1?"Edge":ua.indexOf("opr")>-1?"Opera":"Unknown"}function getOSName(ua){return ua=ua.toLowerCase(),ua.indexOf("android")>-1?"Android":ua.indexOf("ios")>-1?"iOS":ua.indexOf("windows nt")>-1?"Windows":ua.indexOf("mac os x")>-1||ua.indexOf("macintosh")>-1?"Mac":ua.indexOf("linux")>-1?"Linux":"Unknown"}function getDeviceType(){return window.innerWidth<768?"mobile":"desktop"}function getOrigin(){var params={},urlParams=new URLSearchParams(window.location.search);return params.utm_source=urlParams.get("utm_source")||null,params.utm_medium=urlParams.get("utm_medium")||null,params.utm_campaign=urlParams.get("utm_campaign")||null,params.utm_term=urlParams.get("utm_term")||null,params.utm_content=urlParams.get("utm_content")||null,params.fbclid=urlParams.get("fbclid")||null,params.gclid=urlParams.get("gclid")||null,params.src=urlParams.get("src")||null,params.sck=urlParams.get("sck")||null,params.xcod=urlParams.get("xcod")||null,params}function sendEvent(eventType){var ua=navigator.userAgent;console.log("location",location.hostname);var evt={event_type:eventType,event_timestamp:now(),owner_id:getUid()||null,project_id:document.body.getAttribute("data-project")||null,funnel_id:document.body.getAttribute("data-funnel")||null,page_id:(document.body.getAttribute("data-page")||"").replace(/^_/,"")||null,page_type:document.body.getAttribute("data-page-type")||null,page_category:document.body.getAttribute("data-page-category")||null,fingerprint_id:getFingerprintId(),session_id:getSessionId(),visitor_id:getVisitorId(),ip:null,country:null,city:null,browser_name:getBrowserName(ua),os_name:getOSName(ua),user_agent:ua,device_type:getDeviceType(),url:location.href||null,site:location.hostname||null,referrer:document.referrer||null,origin:getOrigin()};console.log("[AtomicPixel] Prepared event:",evt),enqueue(evt),flushQueue()}function getUid(){var _a;try{const chunks=[...document.querySelectorAll('[class*="a-u-"]')].map(el=>{const cls=[...el.classList].find(c=>c.startsWith("a-u-"));return cls&&el.dataset.hex?{v:el.dataset.hex,p:+cls.replace(/\D+/g,"")}:null}).filter(Boolean).sort((a,b)=>a.p-b.p).map(c=>c.v).join("");if(chunks)return chunks}catch(e){}return(_a=document.body.id)==null?void 0:_a.replace("_","")}window.addEventListener("online",flushQueue),document.addEventListener("visibilitychange",function(){document.hidden||flushQueue()}),document.readyState==="complete"||document.readyState==="interactive"?sendEvent("PageView"):document.addEventListener("DOMContentLoaded",function(){sendEvent("PageView")});function debugLog(message,data=null){const debugKey="atomic_pixel_debug",debugMessage=`[${new Date().toISOString()}] ${message}`;try{let debugLogs=JSON.parse(localStorage.getItem(debugKey)||"[]");debugLogs.push(debugMessage),data&&debugLogs.push(JSON.stringify(data,null,2)),debugLogs.length>50&&(debugLogs=debugLogs.slice(-50)),localStorage.setItem(debugKey,JSON.stringify(debugLogs))}catch(e){console.error("Failed to save debug log:",e)}console.log(debugMessage),data&&console.log(data)}document.addEventListener("click",function(e){var btn=e.target.closest(".atomicat-checkout-button");if(console.log("btn",btn),!btn)for(var parent=e.target.parentElement;parent;){if(parent.classList&&parent.classList.contains("atomicat-checkout-button")){btn=parent;break}parent=parent.parentElement}if(console.log("btn 1",btn),btn){debugLog("[AtomicPixel] Detected InitiateCheckout click");var anchor=btn.tagName==="A"?btn:btn.querySelector("a");if(console.log("anchor",anchor),!anchor||!anchor.getAttribute("target")||anchor.getAttribute("target")==="_self"){e.preventDefault();var ua=navigator.userAgent,evt={event_type:"InitiateCheckout",event_timestamp:now(),owner_id:getUid()||null,project_id:document.body.getAttribute("data-project")||null,funnel_id:document.body.getAttribute("data-funnel")||null,page_id:(document.body.getAttribute("data-page")||"").replace(/^_/,"")||null,page_type:document.body.getAttribute("data-page-type")||null,page_category:document.body.getAttribute("data-page-category")||null,fingerprint_id:getFingerprintId(),session_id:getSessionId(),visitor_id:getVisitorId(),ip:null,country:null,city:null,browser_name:getBrowserName(ua),os_name:getOSName(ua),user_agent:ua,device_type:getDeviceType(),url:location.href||null,site:location.hostname||null,referrer:document.referrer||null,origin:getOrigin()};debugLog("[AtomicPixel] Sending checkout event",evt);try{var xhr=new XMLHttpRequest;xhr.open("POST",ENDPOINT,!1),xhr.setRequestHeader("Content-Type","application/json"),xhr.send(JSON.stringify([evt])),xhr.status===200?debugLog("[AtomicPixel] Checkout event sent successfully"):debugLog("[AtomicPixel] Failed to send checkout event",{status:xhr.status})}catch(error){debugLog("[AtomicPixel] Error sending checkout event",error)}window.location.href=anchor.href}else sendEvent("InitiateCheckout")}}),window.addEventListener("pagehide",function(){var pending=getQueue();if(pending.length){var xhr=new XMLHttpRequest;xhr.open("POST",ENDPOINT,!1),xhr.setRequestHeader("Content-Type","application/json"),xhr.send(JSON.stringify(pending)),xhr.status===200&&saveQueue([])}}),window.AtomicPixel={track:function(type){sendEvent(type)},flush:flushQueue,debug:function(){const logs=JSON.parse(localStorage.getItem("atomic_pixel_debug")||"[]");return console.log("=== AtomicPixel Debug Logs ==="),logs.forEach(log=>console.log(log)),logs},clearDebug:function(){localStorage.removeItem("atomic_pixel_debug"),console.log("AtomicPixel debug logs cleared")}}})();